package File;
import java.io.File;
import java.util.Scanner;
//扫描指定目录，并找到名称中包含指定字符的所有普通文件（不包含目录），并且后续询问用户是否要删除该文件
public class Demo12 {
    private static Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {
        //输入目录，输入指定字符
        System.out.println("请输入指定目录：");
        String rootPath = scanner.next();
        //创建文件对象
        File file = new File(rootPath);
        System.out.println("请输入指定字符：");
        String word = scanner.next();
        //判断输入目录是否合法
        if (!file.isDirectory()){
            System.out.println("输入目录不合法");
            return;
        }
        //递归遍历所有目录
        ScanDir(file,word);
    }
    private static void ScanDir(File currentfile,String word){
        //找出当前目录下的所以文件
        File[] files = currentfile.listFiles();
        //遍历当前目录下的所有文件和目录
        for (File f:files) {
            System.out.println(f.getPath());
            //1.f为普通文件
            if (f.isFile()){
                //判断是否需要删除
                dealFile(f,word);
            }else {
                //2.f为目录文件，进行递归
                ScanDir(f,word);
            }
        }
    }
    private static void dealFile(File f, String word) {
        if (f.getName().contains(word)){
            //f里面包含word
            System.out.println("是否要删除：y/n");
            String deal = scanner.next();
            if (deal.equals("y") || deal.equals("Y")){
                f.delete();
            }
        }else {
            //不包含word
            return;
        }
    }
}
